pytorch中张量、数组、列表类型之间的转化方法 |
您所在的位置:网站首页 › python list转化为数组 › pytorch中张量、数组、列表类型之间的转化方法 |
张量和其他相关类型之间的转化
张量、数组、列表是较为相似的三种类型对象,会涉及到三种对象的相互转化。在张量创建的过程中,torch.tensor()函数可以将数组或列表转化为张量,同样也可以将张量转化为数组或列表。 前面介绍了0维张量的概念,此处将进一步给出零维张量和数值对象的转化方法。 (1).numpy()方法:张量转化为数组 #方法一 t1 = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) #结果为:tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) t1.numpy() #结果为:array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype = int64) #方法二,通过np.array()函数直接转化为array np.array(t1) #结果为:array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype = int64)(2).tolist()方法:张量转化为列表 t1.tolist() #结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10](3).list()方法:张量转化为列表 #方法一 list(t1) #结果为:[tensor(1), tensor(2), tensor(3), tensor(4), tensor(5), tensor(6), tensor(7), tensor(8), tensor(9), tensor(10)]注意:此时转化的列表是由一个个零维张量构成的列表,而非张量的数值组成的列表 (4).item()方法:张量转化为数值 一些情况下,需要将最终计算的结果张量转化为单独的数值进行输出,此时需要使用.item()方法来执行。 #方法一 t2 = torch.tensor(1) t2.item() #结果为:1注意:此方法只可使用在零维张量中,即此张量只有一个元素的零维张量 (5)张量的深拷贝 张量与Python 中其他对象类型一样,等号赋值操作实际上是浅拷贝,需要进行深拷贝,则需要使用clone方法。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |